2单选若x为局部变量,xp、y和z是全局变量,则以下判断中错误的是()。
A.赋值语句“y=x+*xp;”中,y和xp都是符号的引用
B.静态局部变量声明“staticintx=*xp;”中,xp是符号的引用
C.赋值语句“inty=x+z;”中,y和z都是符号的引用
D.赋值语句“y=x+z;”中,y和z都是符号的引用
3单选以下有关ELF目标文件的符号表的叙述中,错误的是()。
A.符号表中包含了所有定义符号的描述信息,包括局部变量的相关信息
B.可重定位和可执行两种目标文件中都有符号表且数据结构一样
C.通过符号表可获得符号的名称、所在节及在节中偏移地址和长度
D.符号表定义在.symtab节中,每个表项描述某个符号的相应信息
4单选以下是有关链接过程中符号解析(符号绑定)的叙述,其中错误的是()。
A.全局符号(包括外部全局符号)需将模块内的引用与模块外的定义符号绑定
B.本地符号的解析比较简单,只要与本模块内定义的符号关联即可
C.同一个符号名可能在多个模块中有定义,每个定义处的符号都须分配空间
D.符号解析的目的是将符号引用与某目标模块中定义的符号建立关联
5单选以下有关强符号和弱符号的符号解析的叙述中,错误的是()。
A.一个符号名可以有一个强符号和多个弱符号,强符号为其定义
B.一个符号名只能有一个强符号,否则符号解析失败
C.一个符号名可以有多个弱符号,任选一个为其定义
D.一个符号名可以仅出现在引用处或仅出现在定义处
6单选以下是两个源程序文件:/*m1.c*//*m2.c*/intp1(viod);staticintmain=1;intmain()intp1(){{intp1=p1();main++;returnp1;returnmain;}}对于上述两个源程序文件链接时的符号解析,错误的是()。
A.在m1中,定义了一个强符号main和一个弱符号p1
B.在m1中,对m2中定义的强符号p1的引用只有一处
C.因为出现了两个强符号main,所以会发生链接错误
D.在m2中,定义了一个强符号p1和一个局部符号main
计算机系统基础(一):程序的表示、转换与链接
南京大学
军职在线答案
大学网课